草庐IT

c++ - bisonc++ 多态继承

全部标签

java - Java中的继承和重载

我正在为考试而学习,我需要一些帮助来理解以下代码片段中发生的事情。classA{publicvoidmethod1(AX){System.out.println("A");}}classBextendsA{publicvoidmethod2(){System.out.println("B");}}classCextendsB{publicvoidmethod1(Ax){System.out.println("C");}}classDextendsC{publicvoidmethod1(Dx){System.out.println("D");}}publicclasstest{publi

java - 对多态性的使用有疑问,也对多态性如何与类型转换相关?

我向在大学学习该主题的学生讲授Java编程语言的基础知识。今天他们中的一个让我对她的问题感到非常困惑,所以我告诉她给我一天的时间来思考这个问题,我会尽可能准确地给她答案。她告诉我,当她在考试中使用关键字instanceof时,老师非常生气。另外,她说老师说如果她用那个词,就没有办法证明多态性是如何工作的。我想了很多,试图找到一种方法来证明在某些场合我们需要使用instanceof,并且即使我们使用它,该方法仍然存在一些多态性。所以这是我做的例子:publicinterfaceAnimal{publicvoidtalk();}classDogimplementsAnimal{public

java - 带有类型列表和继承的方法

我在使用从另一个(类型化)类继承的类型化List参数的方法时遇到了一些麻烦。让我们保持简单:publicclassB{publicvoidtest(Listi){}}B类有一个无用的泛型T,而test()需要一个整数列表。现在如果我这样做:publicclassAextendsB{//don'tcompile@Overridepublicvoidtest(Listi){}}我收到“类型A的方法测试(列表)必须覆盖或实现父类(superclass)型方法”错误,这是不应该发生的。但是删除列表的类型是可行的...尽管它不依赖于泛型类。publicclassAextendsB{//compi

java - 静态方法和继承的返回类型中的泛型

静态方法的返回类型中的泛型似乎与继承相处得不好。请看下面的代码:classClassInfo{publicClassInfo(Classclazz){this(clazz,null);}publicClassInfo(Classclazz,ClassInfosuperClassInfo){}}classA{publicstaticClassInfogetClassInfo(){returnnewClassInfo(A.class);}}classBextendsA{//Error:ThereturntypeisincompatiblewithA.getClassInfo()public

java拷贝构造函数和继承

经过一番搜索后,我没有找到关于复制构造函数和继承的问题的任何好的答案。我有两个类(class):用户和实习生。Trainee继承自User,Trainee增加两个String参数。现在我设法制作了User的复制构造函数,但我对Trainee的复制构造函数不满意。User拷贝构造函数的代码是这样的:publicUser(Userclone){this(clone.getId(),clone.getCivilite(),clone.getNom(),clone.getPrenom(),clone.getEmail(),clone.getLogin(),clone.getTel(),clon

java - 参数多态性和子类型多态性之间的概念区别?

我曾尝试通读维基百科,但它对多态性(特别是与Java相关)的主题非常详尽。我的理解是子类型多态性与子类型相关,而参数多态性与跨不同对象/类泛化的方法相关?我错过了什么? 最佳答案 Asthearticlesays,Parametricpolymorphismallowsafunctionoradatatypetobewrittengenerically,sothatitcanhandlevaluesidenticallywithoutdependingontheirtype...Parametricpolymorphismisals

Java 10 'var' 和继承

在查看var功能后,可以看到here:我在使用JDK10设置我的Eclipse/IntelliJIDEAIDE时遇到了困难,因此我向拥有Java10工作环境的StackOverflow用户寻求帮助。考虑以下几点:publicclassA{publicvoidsomeMethod(){...}}publicclassBextendsA{@OverridepublicvoidsomeMethod(){...}}.........varmyA=newA();//WorksasexpectedmyA=newB();//Expectedtofailincompilationduetovarbei

java - jaxb - 如何从多态类创建 XML

我刚刚开始使用JAXB从Java对象生成XML输出。我的java类中存在多态性,它似乎在JAXB中不起作用。以下是我尝试处理它的方式,但在输出中我没有预料到字段:fieldA或fieldB。@XmlRootElement(name="root")publicclassRoot{@XmlElement(name="fieldInRoot")privateStringfieldInRoot;@XmlElement(name="child")privateBodyResponsechild;//+gettersandsetters}publicabstractclassBodyRespons

java - 继承后保护成员行为。

我对protected标识符有一些疑问。在K.Sierra的SunCertifiedJavaProgrammerStudyGuide第一章中,我找到了以下信息:“一旦包外的子类继承了protected成员,该成员(由子类继承)对子类之外的任何代码都是私有(private)的,子类的子类除外。”我提供了反射(reflect)上述陈述的示例代码,这对我来说是绝对清楚的。//Parentclasspackagepackage1;importpackage2.Child;publicclassParent{protectedinti=5;}//Childclasspackagepackage2

以封装、多态和继承为特色的 Java 示例?

我需要制作一个项目,该项目具有使用Java的面向对象编程的所列特征。有人可以查看我的快速示例程序以确认我了解这些特性是如何实现的,并且它们都存在并且正确完成了吗?packageExample;publicclassParent{privateinta;publicvoidsetVal(intx){a=x;}publicvoidgetVal(){System.out.println("valueis"+a);}}publicclassChildextendsParent{//privatefieldsindicateencapsulationprivateintb;//Childinhe